草庐IT

C++::Boost::Regex 迭代子匹配

全部标签

javascript - 使用 js regex 将简单的标记样式(如 **bold** 替换为 <b>bold</b>)

我正在尝试获取一大块纯文本并将其部分转换为html标记。我不需要一个完整的富编辑器,只需要这几个标签:**bold**__underline__~~italics~~--strike-->这是我尝试编写的方法,但我缺少正则表达式/js似乎阻碍了它:functiontoMarkup($this){vartext=$this.text();text=text.replace("\*\*(.*)\*\*","$1");text=text.replace("__(.*)__","$1");text=text.replace("~~(.*)~~","$1");text=text.replace(

javascript - 正则表达式匹配 URI 中的 & 号,后跟一个等号而不是另一个 & 号

我的正则表达式知识让我逃避了这个......假设我有一个以URI作为查询参数的URL,ala:http://hostname.com?uri=http://website.com/company/YoYo+&+Co+Inc&type=company...假设我们的uri参数本身不包含任何参数,我想在Javascript中手动解析查询参数,但显然我们嵌入的uri参数中的&符号使得它比简单地拆分所有&符号和从那里运行它。我真正想做的是定义一个正则表达式,该正则表达式仅匹配问号和与号后跟一个等号,然后再跟另一个与号(或行尾)。我想出了这个很接近但也包括非捕获文本,我不确定为什么:[?&](?

javascript - 树行者迭代

是否可以使用treewalker跳过当前子树中的迭代并跳转到下一个节点?例子paragraphonetwoparagraph和jsvarnav=document.getElementsByTagName("nav")[0];vartree=document.createTreeWalker(nav,NodeFilter.SHOW_ELEMENT,null,false);tree.firstChild();//firstparagraphtree.nextSibling();//ultree.firstChild();//firstlichidofultree.nextNode()||t

javascript - 在迭代时 knockout foreach 绑定(bind)调用点击事件

我正在使用knockout的foreach绘制带有可点击单元格的表格第一列和表标题用于表内的人口值。从代码片段可以看出,我正在使用一些css绑定(bind),并将模态弹出对话框绑定(bind)到单元格单击事件。表格按预期绘制,一切正常,但第一次加载表单时,即使没有单元格点击,我的模态表单也会弹出。我试图找出发生这种情况的原因,发现内部迭代knockout不仅绑定(bind)了点击事件,而且还调用了点击事件的处理函数(显示弹出窗口)。我假设问题出在knockout绑定(bind)上。这个问题有什么解决办法吗?如何避免在foreach迭代中调用函数? 最佳答案

javascript - 尝试从元素中删除类时,for 循环仅迭代一次

在Javascript中,我有一个函数可以找到页面上具有“已连接”类的元素,并且当单击按钮时,这些元素的类将被清除。我写了这段代码:varprev_connected=document.getElementsByClassName("connected");if(prev_connected.length>0){for(varj=0;j但是,它只会删除页面上第一个“已连接”元素的类属性。当我有两个“已连接”元素时,我已确认“prev_connected”数组确实包含2个值,但出于某种原因,for循环永远不会到达第二个值。我做错了什么吗?谢谢。 最佳答案

javascript - 如何迭代 ES6/2015 类实例的属性

给定这两个类classFoo{f1;getf2(){return"a";}}classBarextendsFoo{b1;getb2(){return"a";}}letbar=newBar();什么代码可以从bar实例中获取这个属性列表?['f1','f2','b1','b2']HereisaBabelsample更新这应该是@MarcC的回答的一部分:使用装饰器,我可以轻松地将不可枚举的属性转换为可枚举的属性:classBarextendsFoo{@enumerable()getb2(){return"a";}}这是装饰器源代码:functionenumerable(){returnf

javascript - querySelectorAll,通配符元素匹配?

我正在使用document.querySelectorAll()我知道[id^='id1']将匹配所有以id1开头的ID。[id$='textBox']将匹配所有以textBox结尾的ID。但我想要这两者的结合。这就是我想要做的事情:document.querySelectorAll('[idshouldshartwithid1andendingwithtextBox]')这可能吗? 最佳答案 有可能combineselector通过没有任何空格的连接。document.querySelectorAll("[id$='textBox

javascript - 正则表达式匹配唯一结果

我有以下情况,我正在HTML字符串中搜索属性。我有以下正则表达式,但我想得到唯一的结果,当然我可以对结果数组应用一些过滤器,但我认为这可以通过纯正则表达式实现。https://regex101.com/r/UqCuJS/1所以在这种情况下类被返回两次,但我只想要1次:['class','data-text']不是['class','data-text','class']consthtml=` `console.log(html.match(/[\w-:]+(?=\s*=\s*".*?")/g))http://jsbin.com/bekibanisa/edit?js,console

Javascript 正则表达式仅匹配以特定特殊字符开头的单词

我试图在javascript中只匹配以#开头的单词,例如。在以下示例文本中,只有#these应该匹配。Ineedtomatchonlywordslike#these.Ignoretheoneslike@#this,!#thisandin#ignore.离这里越近/(\B(#[a-z0-9])\w+)/gi引用:https://regex101.com/r/wU7sQ0/114 最佳答案 使用空白边界(?:^|\s):varrx=/(?:^|\s)(#[a-z0-9]\w*)/gi;vars="Ineedtomatchonlyword

javascript - 在javascript中编写迭代器的最佳方法

我正在用Javascript构建一个复杂的对象,我想在该对象的内部集合上公开一个迭代器。我能想到的唯一方法是在prototype.js中公开迭代器的常用方法:customObject.each(function(item){...})迭代器each为集合中的每一项依次调用提供的函数。你知道其他可靠的方法吗?也许有一种方法可以让用户使用通常的foreach构造? 最佳答案 原型(prototype)样式函数是一个不错的选择,但您也可以考虑像这样的东西:overlayRegistry=function(){varoverlays=[];